10 research outputs found
Enforcing Termination of Interprocedural Analysis
Interprocedural analysis by means of partial tabulation of summary functions
may not terminate when the same procedure is analyzed for infinitely many
abstract calling contexts or when the abstract domain has infinite strictly
ascending chains. As a remedy, we present a novel local solver for general
abstract equation systems, be they monotonic or not, and prove that this solver
fails to terminate only when infinitely many variables are encountered. We
clarify in which sense the computed results are sound. Moreover, we show that
interprocedural analysis performed by this novel local solver, is guaranteed to
terminate for all non-recursive programs --- irrespective of whether the
complete lattice is infinite or has infinite strictly ascending or descending
chains
On the homomorphism order of labeled posets
Partially ordered sets labeled with k labels (k-posets) and their
homomorphisms are examined. We give a representation of directed graphs by
k-posets; this provides a new proof of the universality of the homomorphism
order of k-posets. This universal order is a distributive lattice. We
investigate some other properties, namely the infinite distributivity, the
computation of infinite suprema and infima, and the complexity of certain
decision problems involving the homomorphism order of k-posets. Sublattices are
also examined.Comment: 14 page
A Calculus of Space, Time, and Causality: its Algebra, Geometry, Logic
The calculus formalises human intuition and common sense about space, time, and causality in the natural world. Its intention is to assist in the design and implementation of programs, of programming languages, and of interworking by tool chains that support rational program development. The theses of this paper are that Concurrent Kleene Algebra (CKA) is the algebra of programming, that the diagrams of the Unified Modeling Language provide its geometry, and that Unifying Theories of Program- ming (UTP) provides its logic. These theses are illustrated by a fomalisation of features of the first concurrent object-oriented language, Simula 67. Each level of the calculus is a conservative extension of its predecessor. We conclude the paper with an extended section on future research directions for developing and applying UTP, CKA, and our calculus, and on how we propose to implement our algebra, geometry, and logic